home *** CD-ROM | disk | FTP | other *** search
-
-
- memory options
- The Tcl memory command gives the Tcl developer control
- of Tcl's memory debugging capabilities. The memory
- command has several suboptions, which are described
- below. It is only available when Tcl has been compiled
- with memory debugging enabled.
-
- memory info
- Produces a report containing the total allocations and
- frees since Tcl began, the current packets allocated
- (the current number of calls to ckalloc not met by a
- corresponding call to ckfree), the current bytes
- allocated, and the maximum number of packets and bytes
- allocated.
-
- memory trace [on|off]
- Turns memory tracing on or off. When memory tracing is
- on, every call to ckalloc causes a line of trace
- information to be written to stderr, consisting of the
- word ckalloc, followed by the address returned, the
- amount of memory allocated, and the C filename and line
- number of the code performing the allocation, for
- example...
-
- ckalloc 40e478 98 tclProc.c 1406
-
- Calls to ckfree are traced in the same manner, except
- that the word ckalloc is replaced by the word ckfree.
-
- memory validate [on|off]
- Turns memory vaidation on or off. When memory
- validation is enabled, on every call to ckalloc or
- ckfree, the guard zones are checked for every piece of
- memory currently in existence that was allocated by
- ckalloc. This has a large performance impact and
- should only be used when overwrite problems are
- strongly suspected. The advantage of enabling memory
- validation is that a guard zone overwrite can be
- detected on the first call to ckalloc or ckfree after
- the overwrite occurred, rather than when the specific
- memory with the overwritten guard zone(s) is freed,
- which may occur long after the overwrite occurred.
-
- memory trace_on_at_malloc nnn
- Enable memory tracing after nnn ckallocs have been
- performed. For example, if you enter memory
- trace_on_at_malloc 100, after the 100th call to
- ckalloc, memory trace information will begin being
- displayed for all allocations and frees. Since there
- can be a lot of memory activity before a problem
- occurs, judicious use of this option can reduce the
- slowdown caused by tracing (and the amount of trace
- information produced), if you can identify a number of
- allocations that occur before the problem sets in. The
- current number of memory allocations that have occured
- since Tcl started is printed on a guard zone failure.
-
- memory break_on_malloc nnn
- After the nnn allocations have been performed, ckallocs
- output a message to this effect and that it is now
- attempting to enter the C debugger. Tcl will then
- issue a SIGINT signal against itself. If you are
- running Tcl under a C debugger, it should then enter
- the debugger command mode.
-
- memory display file
- Write a list of all currently allocated memory to the
- specified file.
-